package cn.edu.tjufe.llp.tin.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import io.swagger.v3.oas.models.ExternalDocumentation;
import io.swagger.v3.oas.models.OpenAPI;
import io.swagger.v3.oas.models.info.Info;
import io.swagger.v3.oas.models.info.License;

@Configuration
public class SpringDocConfiguration {
//	  @Bean
//	  public GroupedOpenApi part01Api() {
//	      return GroupedOpenApi.builder()
//	              .group("tin-part01")
//	              .pathsToMatch("/part01/**")
//	              .build();
//	  }
//	  
//	  @Bean
//	  public GroupedOpenApi part02Api() {
//	      return GroupedOpenApi.builder()
//	              .group("tin-part02")
//	              .pathsToMatch("/part02/**")
//	              // .addMethodFilter(method -> method.isAnnotationPresent(Admin.class))
//	              .build();
//	  }
//
//	  @Bean
//	  public GroupedOpenApi part03Api() {
//	      return GroupedOpenApi.builder()
//	              .group("tin-part03")
//	              .pathsToMatch("/part03/**")
//	              // .addMethodFilter(method -> method.isAnnotationPresent(Admin.class))
//	              .build();
//	  }
	  
	  @Bean
	  public OpenAPI springShopOpenAPI() {
	      return new OpenAPI()
	              .info(new Info().title("SpringBoot Tin API")
	              .description("SpringBoot tin sample application")
	              .version("v0.0.1")
	              .license(new License().name("Apache 2.0").url("http://springdoc.org")))
	              .externalDocs(new ExternalDocumentation()
	              .description("SpringBoot Tin Wiki Documentation")
	              .url("https://springshop.wiki.github.org/docs"));
	  }	  
}
